import api from '../../../api/index';
Page({

  /**
   * 页面的初始数据
   */
  data: {
    value: null,
    goodlist: [],
    goodLeftList: [],
		goodLRightList: [],
    pageNum: 0,
		pageSize: 10,
		noMor: false,
    noData: false,
    usershow: false
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    this.setData({
      goodlist: [],
      goodLeftList: [],
      goodLRightList: []
    })
  },
  onChange(e) {
    this.setData({
      value: e.detail,
    });
  },
  onSearch() {
    this.setData({
      pageNum: 0
    })
    if (!this.data.value) {
      this.setData({
        goodlist: [],
        goodLeftList: [],
        goodLRightList: []
      })
      return
    }
    this.getDiscoversArticle()
  },
  onClick() {
    this.setData({
      pageNum: 0
    })
    if (!this.data.value) {
      this.setData({
        goodlist: [],
        goodLeftList: [],
        goodLRightList: []
      })
      return
    }
    this.getDiscoversArticle()
  },
  goDetail(e) {
    var id = e.currentTarget.dataset.id
    wx.navigateTo({ url: `/community/pages/discovers/index?id=${id}` })
  },
  loadImages (array) {
    array.forEach(item => {
      item.imgsList = []
      item.videosList = []
      if(item.media) {
        const mediaObj = JSON.parse(item.media)
        if(mediaObj.images) {
          mediaObj.images.forEach(img => {
            item.imgsList.push(img.file)
          })
        }
        if(mediaObj.videos) {
          mediaObj.videos.forEach(v => {
            item.videosList.push(v.file)
          })
        }
      }
    })
    return array
  },
  // 获取发现的文章
  getDiscoversArticle() {
		const actions = {
			data: {
        name: this.data.value
			},
			head: {
				firstresult: this.data.pageNum,
        maxresults: this.data.pageSize,
				bodytype: 'flat',
			}
		};
		api.post('/api/hxhealth/forum/article/discovers', actions).then((res) => {
      if (res.length == 0) { //请求的数据为空，没有数据
        if (this.data.pageNum == 0) { // 第一页都没有数据，直接显示暂无数据
          this.setData({
            noData: true,
          })
        } else { // 不为第一页时，请求的数据为空，说明没有更多数据了，把pageNum减一，是为了下次触底可以继续请求刷新，万一有了新数据也可以正常显示出来
          this.setData({
            noMor: true,
            pageNum: 0
          })
        }
      } else {  // 请求的结果有数据
        const dataList = this.loadImages([...this.data.goodlist, ...res])
        let leftList = []
        let rightList = []
        dataList.forEach((item, index) => {
          if(index % 2 === 0) {
            leftList.push(item)
          } else {
            rightList.push(item)
          }
        })
        if (res.length == this.data.pageSize) { // 请求的数据为10条，说明下一页可能还有数据，列表添加上新的数据，把其他状态设为不显示
          this.setData({
            goodlist: dataList,
            goodLeftList: leftList,
            goodRightList: rightList,
            noMor: false,
            noData: false
          })
        } else { // 请求的数据没有10条，说明下一页已经暂时没有数据了，列表添加上新的数据，底部显示暂无更多数据
          this.setData({
            goodlist: dataList,
            goodLeftList: leftList,
            goodRightList: rightList,
            noMor: true,
            noData: false
          })
        }
        console.log(dataList, 'dataList')
      }
      Toast.clear();
    })
  },
  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {
		if ((this.data.pageNum + 1) * this.data.pageSize == this.data.goodlist.length) { 
		// 数据列表的数量刚好等于页数*每页条数，可以请求下一页
			this.setData({
				pageNum: this.data.pageNum + 1, // 一般上拉触底是为了加载更多分页数据，所以这里页数自增
			});
			// 查询列表方法
      this.getDiscoversArticle()
		} else { 
		// 数据列表的数量不等于页数*每页条数，说明当前页数据不足10条，已经没有更多数据了
			this.setData({
				noMor: true  // 这里在页面最底部显示一排文字，没有更多数据了
			})
		}
	},

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})